package com.smart.manager.product.entities.assembler;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 蓝牙耳标数据
 * @author leo
 * @date 2023/09/06
 */
@Data
@Accessors(chain = true)
public class ReqRfid implements Serializable {

    /**
     * 基本数据
     */
    private ReqRfidEar rfidEar;
    /**
     *当天运动数据
     */
    private ReqRfidShake rfidShake;

    /**
     * 耳标数据
     * @author leo
     * @date 2023/09/06
     */
    @Data
    @Accessors(chain = true)
    public static class ReqRfidEar implements Serializable {
        /**
         *数据id
         */
        private Long smartId;

        /**
         *信号强度
         */
        private String rssi;

        /**
         *频道
         */
        private String channel;

        /**
         *原始数据信息
         */
        private String mfr;

        /**
         *16BIT 服务 UUID
         */
        private String u16;

        /**
         *蓝牙耳标mac
         */
        private String beaconMac;

        /**
         *温度
         */
        private String temperature;

        /**
         *运动量
         */
        private String shake;

        /**
         *电量
         */
        private String electric;

        /**
         *上传时间
         */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime uploadTime;

        /**
         *蓝牙网关mac
         */
        private String gatewayMac;

        /**
         *创建时间
         */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime createTime;

        /**
         *修改时间
         */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime updateTime;

    }
    /**
     * 统计运动量
     * @author leo
     * @date 2023/09/06
     */
    @Data
    @Accessors(chain = true)
    public static class ReqRfidShake implements Serializable{
        /**数据id*/
        private Long statisticsShakeId;
        /**统计日期 格式:’ yyyy-MM-dd’*/
        private String statisticsDate;
        /**蓝牙耳标mac*/
        private String beaconMac;
        /**当日总运动量*/
        private Integer shakeCount;
    }
}
